package com.xd.core.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.Page;
import com.xd.core.system.dto.AddSysUserDto;
import com.xd.core.system.dto.UpdatePasswordDto;
import com.xd.core.system.dto.UpdateSysUserDto;
import com.xd.core.system.dto.UserListDto;
import com.xd.core.system.entity.SysRole;
import com.xd.core.system.entity.SysUser;
import com.xd.core.system.vo.PersonalInfoVo;
import com.xd.core.system.vo.UserDetailVo;
import com.xd.core.system.vo.UserListVo;

import java.util.List;


/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author SJ
 * @since 2023-03-14
 */
public interface ISysUserService extends IService<SysUser> {


    void addUser(AddSysUserDto addSysUserDto);

    void updateUser(UpdateSysUserDto updateSysUserDto);

    void deleteUser(Integer id);

    Page<UserListVo> userList(UserListDto userListDto);

    List<Integer> getGroupIds();

    List<Integer> getUserIdsByGroup();

    UserDetailVo userDetail(Integer id);

    List<SysRole> roleListDropDown();

    void updatePassword(UpdatePasswordDto dto);

    /**
     * @description: 个人资料查询
     * @author: ZCH
     * @date: 2025/4/2 0002 20:07
     * @param: [userId]
     * @return: com.xd.core.system.vo.PersonalInfoVo
     **/
    PersonalInfoVo getPersonalInfo(Integer userId);
}
